1. Field of the Invention
The present invention relates to non-volatile memory based on charge storage elements, such as NROM and floating gate flash memory, and to self-converging methods for programming single bit and multiple bit memory cells with target threshold voltages.
2. Description of Related Art
Non-volatile memories based on charge storage elements, including silicon-oxide-nitride-oxide-silicon SONOS-type cells and floating gate flash memory cells, are programmed by injecting charge into the charge storage element. The charge in the charge storage element affects the threshold voltage of the memory cell, and can be used for storing data.
One basic technique used in many prior art devices to inject charge into the charge storage element is known as hot electron injection. Hot electron injection involves applying a high-voltage to a control gate on the memory cell, a high-voltage to the drain, and ground or a low-voltage to the source. This biasing arrangement causes current to flow in the channel, and hot electrons are injected from the channel into the charge storage element because of the electric field established by the high control gate voltage. A SONOS-type cell that is programmed using hot electron injection is referred to as an NROM cell herein.
There are many variations on biasing schemes used for hot electron injection. One basic problem being addressed by these variations arises because the memory cells in a large array do not all behave uniformly during a programming operation. Therefore, for a given program pulse, there is a wide distribution in the amount of charge injected into the charge storage elements of memory cells in the array on a single device. The wide distribution of charge after a program pulse makes it difficult to predict the threshold voltage of the memory cell. Accordingly, algorithms have risen which attempt to account for the distribution in charge, and typically involve applying a program pulse and then executing a verify operation to test the threshold of the memory cell after the pulse. If the threshold has not reached the target threshold after the first pulse, then the programming is retried, followed by another verify operation, and so on. A discussion of this issue is provided in Bloom et al., U.S. Pat. No. 6,396,741, entitled PROGRAMMING OF NONVOLATILE MEMORY CELLS, issued May 28, 2002. See also, Chang et al., U.S. Pat. No. 6,320,786, entitled METHOD OF CONTROLLING MULTI-STATE NROM, issued Nov. 20, 2001; and Parker, U.S. Pat. No. 6,219,276, entitled MULTILEVEL CELL PROGRAMMING, issued Apr. 17, 2001.
Some conventional program methods are based on algorithms which apply constant drain voltage, on algorithms which step the drain voltage during the program operation, and on algorithms which step the gate voltage during the program operation. These algorithms as applied to NROM however do not lead to convergence of the threshold voltage after many pulses, and require a verify operation to determine the end of the operation. The verify operation is time-consuming, and requires complex program algorithms and supporting circuitry. In floating gate flash memory, while some program algorithms may self-converge, the programming speed and accuracy can be improved.
It is desirable therefore to provide a programming algorithm for charge storage memory cells which is self-converging, eliminating or reducing the need for verify operations, and reducing the time required for the program operation. Furthermore, it is desirable to provide a programming algorithm which is self-converging at more than one target threshold level to allow multiple bit storage in a single memory cell.